home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 4 / United Public Domain Gold 4.iso / tbag / tb046.dms / tb046.adf / Docs / mips.docs < prev    next >
Text File  |  1990-08-19  |  3KB  |  48 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  *                              DISCLAIMER                                   *
  4.  *                                                                           *
  5.  *  I accept no responsibility to anyone for the consequences of using this  *
  6.  *  program and any of the files that come with it.  I am releasing this     *
  7.  *  program and its associated files in Public Domain under the condition    *
  8.  *  that they all be distributed together.                                   *
  9.  *                                                                           *
  10.  *                                           - Armando Romualdez -           *
  11.  *                                                                           *
  12.  *****************************************************************************/
  13.  
  14. This is a very simple program I wrote in C to get a feel of the relative cpu
  15. performance between different amiga cpu configurations.  All it does is perform
  16. a given number of integer additions within a for-loop.  The final result is
  17. specified in MIPS or Million Instructions Per Second.  Here are some of the
  18. results I got for 10,000,000 loops (i.e. mips 10000000):
  19.  
  20. Amiga 68000 @  7.16 Mhz w/MegaBoard2 fast ram                     : 0.815 MIPS
  21. Amiga 68020 @ 18.14 Mhz w/MegaBoard2 fast ram (LUCAS w/out CACHE) : 0.917 MIPS
  22. Amiga 68020 @ 18.14 Mhz w/MegaBoard2 fast ram (LUCAS w/    CACHE) : 5.263 MIPS
  23.  
  24. notes: - program execution was done @ priority level 127 on the Amiga
  25.          1000 with Kickstart 1.3 & Workbench 1.3.
  26.        - The MegaBoard2, is a 16-bit exapnsion fast ram
  27.        - for the C loop:
  28.  
  29.                         for(loop=0;loop<limit;loop++)
  30.                           sum++;
  31.  
  32.          the compiler generated the following assembly code:
  33.  
  34.         ADDRESS    INSTRUCTION        68000 CLOCK CYCLES      COMMENT
  35.  
  36.         00206754:  MOVEQ   #00,D5              4              loop=0;
  37.         00206756:  CMP.L   D4,D5               6              loop<limit?
  38.         00206758:  BGE.B   00206760            8 (when branch not taken)
  39.         0020675A:  ADDQ.L  #1,D6               8              sum++;
  40.         0020675C:  ADDQ.L  #1,D5               8              loop++;
  41.         0020675E:  BRA.B   00206756           10              repeat loop
  42.  
  43.        - From the assembly code, it is clear that the cpu spends most of
  44.          its time executing location 00206756 to 0020675E.  The first
  45.          instruction, MOVEQ, is merely executed once, and hence
  46.          does not contribute significantly to the time of execution.
  47.        - Higher loop values should yield more accurate results.
  48.